diff --git a/system/libraries/Email.php b/system/libraries/Email.php
index 48726b7..3b1da8d 100644
--- a/system/libraries/Email.php
+++ b/system/libraries/Email.php
@@ -1037,7 +1037,7 @@
 		if (function_exists('idn_to_ascii') && $atpos = strpos($email, '@'))
 		{
 			$variant = defined('INTL_IDNA_VARIANT_UTS46') ? INTL_IDNA_VARIANT_UTS46 : INTL_IDNA_VARIANT_2003;
-			$email = self::substr($email, 0, ++$atpos).idn_to_ascii(self::substr($email, $atpos), $variant);
+			$email = self::substr($email, 0, ++$atpos).idn_to_ascii(self::substr($email, $atpos), 0, $variant);
 		}
 
 		return (bool) filter_var($email, FILTER_VALIDATE_EMAIL);
@@ -1855,7 +1855,7 @@
 		if (function_exists('idn_to_ascii') && $atpos = strpos($email, '@'))
 		{
 			$variant = defined('INTL_IDNA_VARIANT_UTS46') ? INTL_IDNA_VARIANT_UTS46 : INTL_IDNA_VARIANT_2003;
-			$email = self::substr($email, 0, ++$atpos).idn_to_ascii(self::substr($email, $atpos), $variant);
+			$email = self::substr($email, 0, ++$atpos).idn_to_ascii(self::substr($email, $atpos), 0, $variant);
 		}
 
 		return (filter_var($email, FILTER_VALIDATE_EMAIL) === $email && preg_match('#\A[a-z0-9._+-]+@[a-z0-9.-]{1,253}\z#i', $email));
diff --git a/system/libraries/Form_validation.php b/system/libraries/Form_validation.php
index 1619ec9..cd1d4a7 100644
--- a/system/libraries/Form_validation.php
+++ b/system/libraries/Form_validation.php
@@ -1232,7 +1232,7 @@
 		if (function_exists('idn_to_ascii') && preg_match('#\A([^@]+)@(.+)\z#', $str, $matches))
 		{
 			$variant = defined('INTL_IDNA_VARIANT_UTS46') ? INTL_IDNA_VARIANT_UTS46 : INTL_IDNA_VARIANT_2003;
-			$str = $matches[1].'@'.idn_to_ascii($matches[2], $variant);
+			$str = $matches[1].'@'.idn_to_ascii($matches[2], 0, $variant);
 		}
 
 		return (bool) filter_var($str, FILTER_VALIDATE_EMAIL);
